package gestion;

import java.util.ArrayList;

import javax.swing.JOptionPane;

import dao.DaoActividad;
import dominio.Actividad;
import dominio.Socio;
import excepciones.DAOExcepcion;

public class Actividades {

	private DaoActividad daoActividad = new DaoActividad();
	private ArrayList<Actividad> listaActividades = new ArrayList<Actividad>();

	public boolean comprobarActividadNuevaEsCorrecta(Actividad actividad) {
		if (actividad.getIdactividad() != -1 //TODO generar id
				&& actividad.getNombre().length() != 0
				&& actividad.getTipo() != -1
				&& actividad.getFechainicio() != null
				&& actividad.getFechafin() != null
				&& actividad.getPosibilidadfraccionar() != -1
				&& actividad.getPrecio() != -1
				&& actividad.getConcepto().length() != 0
				&& actividad.getPlazastotales() != -1
				&& actividad.getUsuario() != null
				&& actividad.getEstado() != -1)
			return true;
		else {
			JOptionPane error = new JOptionPane();
			error.showMessageDialog(null, "Faltan campos por rellenar", "Error", JOptionPane.ERROR_MESSAGE);
			return false;
		}
	}

	public boolean anadirActividad(Actividad actividad) throws DAOExcepcion {
		daoActividad.anadirActividad(actividad);
		return true;
	}
	
	public boolean actualizarActividad(Actividad actividad) throws DAOExcepcion{
		daoActividad.actualizarActividad(actividad);
		return true;
	}
	
	public ArrayList recuperarActividades() throws DAOExcepcion {
		listaActividades = daoActividad.listarActividades();	
		return listaActividades;
	}
	
	public ArrayList recuperarActividadesDisponibles() throws DAOExcepcion{
		listaActividades = daoActividad.listarActividadesPorEstado(1);	
		listaActividades.addAll(daoActividad.listarActividadesPorEstado(2));
		return listaActividades;
	}
}
